package com.bookcloud.java21.chapter2.数据类型_浮点型2_4;

import java.math.BigDecimal;

/** 2.4 数据类型—浮点型 */
public class Lesson24 {
  public static void main(String[] args) {
    /*
    一、float/ Float
        精度：4字节
        范围：-3.4028235e+38~3.4028235e+38
     */
    float f = 10.0f;
    System.out.println("f=" + f);
    // 1.2 包装类型赋值:自动装箱
    Float f1 = 20.0f; // Float.valueOf()
    // 1.3 拆箱的过程
    float f2 = f1; // f1.floatValue()
    System.out.println("f2=" + f2);
    /*
    二、double/Double (默认是double类型)
        精度：8字节
        范围：-1.7976931348623157e+308~1.7976931348623157e+308
     */
    double d1 = 10.11;
    System.out.println("d1=" + d1);
    // 2.1 自动装箱
    Double d2 = d1; // Double.valueOf()
    // 2.2 自动拆箱
    double d3 = d2; // d2.doubleValue()
    System.out.println("d3=" + d3);
    /*
    三、BigDecimal
        精度：任意精度
        范围：任意精度
     */
    BigDecimal bd = new BigDecimal("3.1415926");
    System.out.println("bd=" + bd);
    // 3.1 加法
    BigDecimal bd1 = new BigDecimal("1.1");
    BigDecimal bd2 = new BigDecimal("2.2");
    BigDecimal bd3 = bd1.add(bd2);
    System.out.println("bd3=" + bd3);
    // 3.2 减法
    BigDecimal bd4 = bd1.subtract(bd2);
    System.out.println("bd4=" + bd4);
    // 3.3 乘法
    BigDecimal bd5 = bd1.multiply(bd2);
    System.out.println("bd5=" + bd5);
    // 3.4 除法
    BigDecimal bd6 = bd1.divide(bd2);
    System.out.println("bd6=" + bd6);
  }
}
